home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 21 / CTROM21A.mdf / mmm / trucs.dxr / 00022_UI Toggle Button.ls < prev    next >
Encoding:
Text File  |  1999-09-27  |  2.4 KB  |  82 lines

  1. property normalmember, normalmembernum, togglemember, imagecastlib, setting, tracking
  2.  
  3. on mouseDown me
  4.   me.tracking = 1
  5.   toggle(me)
  6. end
  7.  
  8. on mouseEnter me
  9.   if me.tracking then
  10.     toggle(me)
  11.   end if
  12. end
  13.  
  14. on mouseLeave me
  15.   if me.tracking then
  16.     toggle(me)
  17.   end if
  18. end
  19.  
  20. on mouseUp me
  21.   if me.tracking then
  22.     me.tracking = 0
  23.   end if
  24. end
  25.  
  26. on mouseUpOutSide me
  27.   if me.tracking then
  28.     me.tracking = 0
  29.   end if
  30. end
  31.  
  32. on toggle me
  33.   setvalue(me, not me.setting)
  34. end
  35.  
  36. on setvalue me, v_me
  37.   if v_me = 0 then
  38.     set the member of sprite the spriteNum of me to me.normalmember
  39.     me.setting = 0
  40.   else
  41.     set the member of sprite the spriteNum of me to me.togglemember
  42.     me.setting = 1
  43.   end if
  44.   updateStage()
  45. end
  46.  
  47. on beginSprite me
  48.   S = me.spriteNum
  49.   me.normalmembernum = the memberNum of sprite S
  50.   me.imagecastlib = castLib(the castLibNum of sprite S).number
  51.   me.normalmember = member(me.normalmembernum, me.imagecastlib)
  52.   me.togglemember = member(me.togglemembernum, me.imagecastlib)
  53.   setvalue(me, me.setting)
  54. end
  55.  
  56. on getPropertyDescriptionList
  57.   if the currentSpriteNum = 0 then
  58.     memdefault = 0
  59.   else
  60.     memref = the member of sprite the currentSpriteNum
  61.     castLibNum = memref.castLibNum
  62.     memdefault = member(member(memref).memberNum + 1, castLibNum)
  63.   end if
  64.   p_list = [#togglemembernum: [#comment: "Toggle Image:", #format: #graphic, #default: memdefault], #setting: [#comment: "Initially Toggled:", #format: #boolean, #default: 0]]
  65.   return p_list
  66. end
  67.  
  68. on settogglevalue me, v_me
  69.   if v_me = 0 then
  70.     set the member of sprite the spriteNum of me to me.normalmember
  71.     me.setting = 0
  72.   else
  73.     set the member of sprite the spriteNum of me to me.togglemember
  74.     me.setting = 1
  75.   end if
  76.   updateStage()
  77. end
  78.  
  79. on getBehaviorDescription
  80.   return "Makes a sprite work as a toggle button with automatic highlighting and mouse tracking. The behavior responds when clicked, or when the SetToggleValue or Toggle messages are receieved. Use the the UI Radio Group behavior to control toggle buttons in radio button groups." & RETURN & "PARAMETERS:" & RETURN & "ΓÇó Toggle Image - Choose the cast member to display when the button is toggled." & RETURN & "ΓÇó Initially Toggled - Turn this option to make the button toggled when it first appears." & RETURN & "MESSAGES:" & RETURN & "ΓÇó SetToggleValue {TRUE or FALSE} - Sets the toggle button." & RETURN & "ΓÇó Toggle - Switches the toggle button state."
  81. end
  82.